function drawrose2
grid on
[x,t]=meshgrid((0:24)./24,(0:0.5:575)./575.*20.*pi-4*pi);
p=(pi/2)*exp(-t./(8*pi));
change=sin(20*t)/150;
u=1-(1-mod(3.3*t,2*pi)./pi).^4./2+change;
y=2*(x.^2-x).^2.*sin(p);

r=u.*(x.*sin(p)+y.*cos(p)).*1.5;
h=u.*(x.*cos(p)-y.*sin(p));

map=[0.2000    0.0941    0.3569
    0.2627    0.0588    0.4510
    0.3059    0.0784    0.4784
    0.5137    0.1490    0.5059
    0.6314    0.1882    0.5020
    0.8706    0.2902    0.4314
    0.9294    0.4118    0.3647
    0.9765    0.5216    0.3765
    0.9961    0.5647    0.4196
    1.0000    0.6353    0.4471
    0.9922    0.7490    0.5255
    1.0000    0.8980    0.6510
    0.9843    0.9529    0.7059];
Xi=1:size(map,1);Xq=linspace(1,size(map,1),100);
map=[interp1(Xi,map(:,1),Xq,'linear')',...
     interp1(Xi,map(:,2),Xq,'linear')',...
     interp1(Xi,map(:,3),Xq,'linear')'];
 
set(gca,'CameraPosition',[2 2 2])
hold on
surface(r.*cos(t),r.*sin(t),h,'EdgeAlpha',0.1,...
    'EdgeColor',[0.5 0.5 0.5],'FaceColor','interp')
colormap(map)

end
